#include "../include/InetAddress.hpp"

#include <string.h>

namespace cdm{

InetAddress::InetAddress(uint16_t port,const string &ip){
    memset(&_addr,0,sizeof(_addr));
    _addr.sin_family = AF_INET;
    _addr.sin_port = htons(port);
    _addr.sin_addr.s_addr= inet_addr(ip.c_str());
}
InetAddress::InetAddress(const struct sockaddr_in &addr)
:_addr(addr){

}

string InetAddress::ip()const{
    return (string)inet_ntoa(_addr.sin_addr);
}

uint16_t InetAddress::port()const{
    return ntohs(_addr.sin_port);
}

const struct sockaddr_in* InetAddress::getAddressPtr()const{
    return &_addr;
}
}//end of namespace

